In some computing models, resources such as software and storage space are accessed by clients locally at, for example, a client's desktop computer. The software can be stored and executed from the client's local memory, and further upgrades or features of the software are provided by installing new versions of the software directly on the client computer. Likewise, the client computer may utilize only a local hard disk drive for storage space. The increased use of high bandwidth networks and data connections, and high capacity data storage servers, has resulted in the implementation of other computing models such as cloud computing solutions. In cloud computing solutions, resources, services, enhanced functionality, or software can be provided to a client computer across a network. Cloud computing models can also be used to provide shared access and remote storage of data to users. In cloud computing solutions, computing resources are provided as hosted services across a network such as the Internet.
End users of software applications may frequently work in a corporate environment with an information technology (IT) department. Improvements in the end users' productivity may require involvement of existing IT maintenance and administration processes. For example, upgrades to the software applications may require installation of a complete software package provided by an existing IT department. The end user may be limited to software versions that have been installed by the IT department if the end user's employer has not upgraded to more up-to-date versions of the application. In particular, end users that work in heterogeneous environments may interact with other end users that use different versions of various applications. Certain end users may use web application user interface technology when interacting with other systems or older versions of a front-end enterprise portal. The ever growing and changing demands of businesses may dictate quick updates and release of new features or applications from software developers. In some instances, an older version of an application is used merely because the end users' employer may not have adopted the newest version. Accordingly, some end users of a particular application may be forced to interface with other end users of the particular application using different versions of the same application. Further, the end user's productivity may be limited by the lack of enhanced functionality and configuration options of the application. Users outside of the end user's IT environment may work with applications similar to the end user's application that have a particular configuration of the application based on the users' roles within the working environment. These configurations and preferences implemented by other users may be inaccessible to the user or may require a complete software upgrade due to the restrictions inherent in an existing corporate IT infrastructure.